home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / patches / fser096b / read.me < prev    next >
Text File  |  1993-08-08  |  14KB  |  356 lines

  1.  
  2. Fast_Ser
  3. ========
  4.  
  5. Fast_Ser ist ein erweiterter Treiber fr serielle Schnittstellen 
  6. auf dem STE/TT/Falcon030.
  7. Fr Modem/Serial 1 (MFP) ist eine erweiterte Rsconf-Auskunftsfunktion
  8. implementiert. Fr Modem/Serial 2 (SCC) sind zus„tzlich alle Bco...- 
  9. und Interrupt-Routinen neu (und hoffentlich fehlerfrei) implementiert, 
  10. und die Baudratentabelle ist mit eigenen Werten programmierbar.
  11.  
  12. Fast_Ser stellt eine Standardschnittstelle zur jeweiligen
  13. Hardware mit Hilfe der Rsconf-Funtion her.
  14.  
  15.  - Cookie 'FSER', zeigt auf Struktur FSER_INFO:
  16.     typedef struct
  17.     {
  18.         UWORD version;
  19.         unsigned unused:15;
  20.         unsigned baud_table_flag:1; /* bit 0 in einem word */
  21.         BASPAG *mem_blk;
  22.     } FSER_INFO;
  23.  
  24.  - Rsconf( -3, -2, xx, xx, xx, xx ) liefert 'FSER' als long
  25.     
  26.  - Rsconf( -3, -3, xx, xx, xx, xx ) liefert einen Pointer auf die
  27.     Struktur CHAN_INFO, die wie folgt definiert ist:
  28.     
  29.     typedef struct
  30.     {
  31.         BAUD_INFO *baud_table;
  32.         BAUD_INFO *alt_baud_table;
  33.         UBYTE **chip_address;
  34.         UWORD chip_type;
  35.         unsigned flags:14;
  36.         unsigned extrd_flag:1; /* bit 1 in einem word */
  37.         unsigned irq_flag:1;   /* bit 0 in einem word */
  38.         WORD task;
  39.         WORD resv[3];
  40.         ULONG dcd_on;
  41.         ULONG dcd_off;
  42.         UWORD rxbuffer_overflows;
  43.         UWORD framing_errs;
  44.         UWORD parity_errs;
  45.         UWORD charlost_errs;
  46.     } CHAN_INFO;
  47.  
  48.     typedef struct
  49.     {
  50.         LONG baudrate;
  51.         UWORD SCC_BRG_value;
  52.         UWORD SCC_MISC_value; /* bit 15..14 Clock mode (Reg. 4)
  53.                                  bit 9..8   BRG mode   (Reg. 14)
  54.                                  bit 6..3   Rx/Tx Clock Source (Reg. 11)
  55.                               */
  56.     } BAUD_INFO;
  57.     
  58.     baud_table: Zeiger auf die Tabelle mit den Baudrateninfos, in der 
  59.                 eine Null bei 'baudrate' das Ende markiert, -1 steht
  60.                 fr eine nicht verfgbare Baudrate (nur bei den 
  61.                 ersten 16 Standardeintr„gen!!), 
  62.                 -2 fr einen freien Eintrag
  63.     alt_baud_table: wie baud_table, nur sind hier an den Indices
  64.                     0 und 1 h”here Baudraten eingefgt. Dadurch k”nnen
  65.                     auch Programme, die Fast_Ser nicht direkt unter-
  66.                     sttzen, die h”heren Baudraten nutzen 
  67.     chip_address: Hardwareadresse des Chips bzw. der internen
  68.                   Peripherie bei 68302, etc
  69.                   z.b $FFFF8C81 fr Serial 2 auf MSTE/TT
  70.     chip_type: Welcher Chiptyp h„ngt an diesem Kanal dran?
  71.                $00: MFP
  72.                $10: Standard-SCC 8530
  73.                $11: VLSI-SCC VL85C30
  74.                $12: Zilog-SCC Z85C30
  75.                $13: AMD-ESCC Am85C30
  76.                $14: Zilog-ESCC Z85230
  77.                $15: AMD-ESCC Am85C230A
  78.                $20: ISDN-Coprozessor MC68302
  79.                $30: Ethernet-Coprozessor MC68EN360
  80.     flags: verschiedene bislang unbenutzte Flags
  81.     extrd_flag: Beim SCC ist in WR7' das ExtendedRead-Flag gesetzt.
  82.     irq_flag:   gesetzt: Die Interruptroutinen nutzen die SCC-FIFOS.
  83.     task: hier tr„gt eine Task, die die Schnittstellenhardware fr 
  84.           sich haben will, ihre Nummer ein.
  85.           -1 steht fr nicht reserviert.
  86.     dcd_on: letzter hz_200-Zeitpunkt, an dem DCD aktiv wurde
  87.     dcd_off: letzter hz_200-Zeitpunkt, an dem DCD inaktiv wurde
  88.     rxbuffer_overflows: Anzahl der Charakter, die bei einem vollem
  89.                         Empfangsbuffer verlorengingen
  90.     framing_errs: Anzahl der empfangenen Charakter mit Framing-Fehler
  91.                   (SCC-bedingt ein unsicherer Wert)
  92.     parity_errs:  Anzahl der empfangenen Charakter mit Parity-Fehler
  93.     charlost_errs: Anzahl der Charakter, die verlorengingen, weil der
  94.                    SCC nicht schnell genug abgefragt wurde
  95.                    (tats„chliche Anzahl kann gr”žer sein!)
  96.  
  97. Bei den Standard-Clockraten fr den SCC untersttzt Fast_Ser momentan
  98. folgende Baudratenliste (auf die alt_baud_table zeigt):
  99.  
  100. Listen fr den MSTE/Falcon030
  101.  Kompatibilit„t im FSERIAL.CPX =AN:
  102.  Index:  Modem 2:     Serial 2:          Original:
  103.    0:    57600        57600              19200
  104.    1:    38400        38400              9600
  105.    2:    19200        19200              4800
  106.    3:    9600         9600               3600
  107.    4:    4800         4800               2400
  108.    5:    3600         3600               2000
  109.    6:    2400         2400               1800
  110.    7:    2000         2000               1200
  111.    8:    1800         1800               600
  112.    9:    1200         1200               300
  113.   10:    600          600                200
  114.   11:    300          300                150
  115.   12:    200          200                134
  116.   13:    150          150                110
  117.   14:    134          134                75
  118.   15:    110          110                50
  119.   16:    75           75
  120.   17:    50           50
  121.   18:    38400        38400
  122.   19:    57600        57600
  123.   20:    76800        115200
  124.   21:    153600
  125.  
  126.  Kompatibilit„t im FSERIAL.CPX =AUS:
  127.  Index:  Modem 2:     Serial 2:          Original:
  128.    0:    19200        19200              19200
  129.    1:    9600         9600               9600
  130.    2:    4800         4800               4800
  131.    3:    3600         3600               3600
  132.    4:    2400         2400               2400
  133.    5:    2000         2000               2000
  134.    6:    1800         1800               1800
  135.    7:    1200         1200               1200
  136.    8:    600          600                600
  137.    9:    300          300                300
  138.   10:    200          200                200
  139.   11:    150          150                150
  140.   12:    134          134                134
  141.   13:    110          110                110
  142.   14:    75           75                 75
  143.   15:    50           50                 50
  144.   16:    38400        38400
  145.   17:    57600        57600
  146.   18:    76800        115200
  147.   19:    153600
  148.  
  149.  
  150.  Liste fr den TT:
  151.  Kompatibilit„t im FSERIAL.CPX =AN:
  152.  Index:  Modem 2:     Serial 2:          Original:
  153.     0:    38400        57600              19200
  154.     1:    76800        38400              9600
  155.     2:    19200        19200              4800
  156.     3:    9600         9600               3600
  157.     4:    4800         4800               2400
  158.     5:    3600         3600               2000
  159.     6:    2400         2400               1800
  160.     7:    2000         2000               1200
  161.     8:    1800         1800               600
  162.     9:    1200         1200               300
  163.    10:    600          600                200
  164.    11:    300          300                150
  165.    12:    200          200                134
  166.    13:    150          150                110
  167.    14:    134          134                75
  168.    15:    110          110                50
  169.    16:    75           75
  170.    17:    50           50
  171.    18:    38400        38400
  172.    19:    76800        57600
  173.    20:    153600       115200
  174.  
  175.  Kompatibilit„t im FSERIAL.CPX =AUS:
  176.  Index:  Modem 2:     Serial 2:          Original:
  177.     0:    19200        19200              19200
  178.     1:    9600         9600               9600
  179.     2:    4800         4800               4800
  180.     3:    3600         3600               3600
  181.     4:    2400         2400               2400
  182.     5:    2000         2000               2000
  183.     6:    1800         1800               1800
  184.     7:    1200         1200               1200
  185.     8:    600          600                600
  186.     9:    300          300                300
  187.    10:    200          200                200
  188.    11:    150          150                150
  189.    12:    134          134                134
  190.    13:    110          110                110
  191.    14:    75           75                 75
  192.    15:    50           50                 50
  193.    16:    38400        38400
  194.    17:    76800        57600
  195.    18:    153600       115200
  196.  
  197.  
  198. Bei einem Terminalprogramm (z.B. RUFUS) bedeutet das, daž man
  199. um eine Baudrate von 57600 auf Serial 2 zu erreichen, 19200 Baud
  200. ausw„hlen muž (im Kompatibilit„ts-Modus). Allerdings liegen die 
  201. hohen Baudraten bei Serial 2 ein bižchen (vernachl„ssigbar) neben 
  202. dem Standard.
  203.  
  204. Hardwarebug!
  205. Serial 2 beim MSTE hat einen Hardwarebug, der Zeichen verschluckt.
  206. Bei h”heren Geschwindigkeiten kann der Bug auch bei Modem2 auftreten.
  207. Das h„ngt von der MSTE-Platinenrevision ab. Dagegen hilft: ein anderes
  208. GAL (Listing sollte seit 0.96 im Archiv dabei sein) oder/und ein
  209. ESCC 85230.
  210.  
  211. Achtung!!
  212. šber die Baudraten mit einem Index gr”žer 15 sind keine Annahmen 
  213. zul„ssig!!. (Abfragen mit Rsconf!)
  214.  
  215. Achtung!! zum zweiten!
  216. RZ.PRG und SZ.PRG (Version 1.9b) von Michael Ziegler arbeiten
  217. mit dem auf Modem 1 eingestellten Baudratenindex.
  218.  
  219. Custom-Version:
  220. Falls jemand spezielle oder noch h”here Baudraten braucht, soll
  221. er sich bei mir melden. Es ist einiges m”glich!
  222.  
  223. Ich habe meinen MegaSTE umgerstet und betreibe einen
  224. Zilog ESCC 85230 mit 14.7456 MHz. Der Umbau kostet ca. 40 DM.
  225. (Der Umbau ist zum Betrieb von Fast_Ser _nicht_ n”tig!!)
  226.  
  227. Dazu braucht man:
  228.  1 ESCC Zilog Z8523016VSC ca. 35 DM
  229.  1 Quarzoszillator 14.7456 MHz ca. 5 DM
  230.  1 Fast_Ser-Version fr eine PCLK von 14.7456 MHz
  231.  und ein paar L”tkenntnisse
  232. Die Bauteile sind bei mir erh„ltlich.
  233.  
  234. Bauanleitung:
  235.  1. alten 85C30 aus dem Sockel hebeln (sehr vorsichtig!!!!!,
  236.      die Sockel sind sehr spr”de und brechen leicht!)
  237.  2. am Sockel den Pin 23 (vom markierten Pin 1 gegen den
  238.      Uhrzeigersinn z„hlen) abzwicken
  239.  3. am neuen ESCC den Pin 23 (PCLK) _vorsichtig_ nach oben biegen
  240.  4. ESCC in den Sockel drcken
  241.  5. den Quarzoszillator mit Pin 2 (7) und Pin 4 (14) auf ein
  242.      14-poliges TTL-IC (74..) (Pin 1 beachten!!) in der N„he 
  243.      des ESCC l”ten. Achtung: die Bauh”he ist unter Umst„nden
  244.      durch das Netzteil begrenzt!
  245.  6. Pin 3 des Quarzoszillators jetzt mit Pin 23 des ESCC verbinden
  246.  7. das war's!
  247. Mit diesem Umbau sind auf beiden Kan„len bis zu 230400 baud alle
  248. blichen Baudraten m”glich. Falls man auch auf die Pins 13 und 32
  249. (/RTxCA und /RTxCB) die 14.7456 MHz legt, sind theoretisch Baudraten
  250. bis 921600 m”glich.
  251.  
  252.  
  253. So das war's vorl„ufig!
  254. Falls jemand Fehlermeldungen, Wnsche, etc hat, bitte melden bei:
  255.  
  256. Post:
  257. Franz Sirl
  258.  
  259. Bischof-Adalbert-Str. 29
  260. 80809 Mnchen
  261.  
  262. Maus: Franz Sirl@M  bzw. Franz Sirl@m.maus.de
  263.  
  264. Voice: 089/356 85 13
  265.  
  266. mfg Franz Sirl, 08-08-93
  267.  
  268.  
  269. Testing/Planning:
  270.  INF-Datei zum beliebigen konfigurieren  der Baudraten
  271.  restliche XSDD-Funktionen
  272.  echter MinT-Devicetreiber
  273.  MinT/MTOS Kompatibilit„t (XSDD-Protokoll)
  274.  applestyle-Handshake auf Modem2/Serial2, um den LAN-Port mit den
  275.   Standard-Pegelumsetzern betreiben zu k”nnen
  276.  
  277. Release Notes:
  278. 0.96beta, 08-08-93:
  279.  Falcon wird untersttzt, FPATCH2 _vollst„ndig_ integriert
  280.  Es sind jetzt 2 Versionen im Archiv:
  281.   Fast_Ser.prg ohne XSDD
  282.   FastXSer.prg mit XSDD
  283.  XSDD-Dokumentation XSDD.TXT (mit freundlicher Genehmigung von 
  284.   Stephan Baucke) im Archiv dabei
  285.  XSDD-Protokoll _teilweise_ fr Modem2/Serial2 integriert,
  286.   wird auch von GSZRZ seit 3.5 und Connect seit 2.20 untersttzt
  287.  XSDD-Cookie wird als "xSDD" eingetragen, um den vorl„ufigen Status
  288.   der Implementation zu kennzeichnen
  289.  XSDD_TST.C als Beispiel-Code zu XSDD im Archiv
  290.  Empfangsbuffergr”že auf 2048 Byte gesetzt
  291.  Bug bei XON/XOFF behoben
  292.   (Transmit wurde nach dem XON der Gegenstelle erst wieder gestartet, 
  293.   wenn wieder ein Zeichen in den Puffer geschrieben wurde)
  294. 0.95xxxx, 22-07-93:
  295.  Verschiedene nicht”ffentliche Testversionen
  296. 0.94beta, 20-01-93:
  297.  FSERIAL.CPX von Roman Hodek ist mit dabei
  298.  Bei vollem Cookiejar wird jetzt ein Gr”žerer (40) installiert
  299.  Noch ein Fehler bei NoProtocol auf TT behoben (Anrufbeantworterbug)
  300. 0.93beta, 24-11-92:
  301.  Interruptroutinen korrigiert (NoProtocol auf TT) und optimiert
  302.  CTS-Handling optimiert
  303.  Xbios/Iorec()-Patch wird bei TOS2.05 installiert
  304. 0.92beta, 04-11-92:
  305.  Interruptfehler beim TT behoben
  306.  Bconin fr XON/XOFF korrigiert
  307.  Am85C230A wird erkannt
  308. 0.91beta, 16-10-92:
  309.  Fehler bei NoProto/XONXOFF behoben (seit 0.88)
  310. 0.90beta, 12-10-92:
  311.  Fehler bei Empfangspufferberlauf behoben (seit 0.88)
  312. 0.89beta, 11-10-92:
  313.  Fehler bei Einstellung ber Kontrollfeld behoben (seit 0.88)
  314. 0.88beta, 05-10-92:
  315.  FSER_INFO enth„lt Pointer auf die Basepage von Fast_Ser
  316.  Modem 2 auf MSTE untersttzt 57600
  317.  Transmit-Performance verbessert
  318.  CHAN_INFO mit WR5 und RR0 erweitert, um Terminalprogramme besser
  319.  zu untersttzen
  320. 0.85beta, 29-09-92:
  321.  CHECKSCC V1.10 sollte jetzt funktionieren
  322.  SCC-Typabfrage wieder drin
  323.  FSER_INFO enth„lt Versionsnummer
  324. 0.83beta, 27-09-92:
  325.  Routine die den SCC-Typ testet disabled, da noch fehlerhaft.
  326.  Z85C30 blockiert danach. Deswegen l„uft auch CHECKSCC nicht.
  327.  Neuer Eintrag alt_baud_table in CHAN_INFO.
  328.  Cookie 'FSER' wird installiert. Enth„lt Pointer auf interne 
  329.  Strukturen (momentan nur ein WORD, LSB ist Flag ob baud_table [=0]
  330.  oder alt_baud_table [=1] benutzt wird). Default ist jetzt 1, d.h.
  331.  alt_baud_table mit verschobenen Standardeintr„gen.
  332.  baud_table zeigt auf die Standardtabelle, in der Index 0--15
  333.  die originalen Baudraten anw„hlen, und die Indices >=16 davon
  334.  abweichende Baudraten bezeichnen.
  335.  XON/XOFF als Beta-Version implementiert.
  336.  
  337. 0.80beta, 26-09-92:
  338.  TT-lauff„hig.
  339.  Alle Bco...-Routinen fr Modem/Serial 2 neu geschrieben,
  340.  Interruptroutinen fr SCC implementiert, XON/XOFF-mode noch
  341.  !!!nicht!!! implementiert.
  342.  Beim Rckgabewert von Rsconf werden die Break-Bits von
  343.  RSR/TSR richtig gesetzt.
  344.  Die interne Tabelle zur Baudratenprogrammierung ist zugreifbar,
  345.  fr eigene Werte sind jetzt 10 Eintr„ge frei.
  346.  Beim Zilog ESCC 85230 wird das ExtendedRead-Bit (WR7' bit 6) gesetzt 
  347.  und das TxFIFO-Level-Bit (WR7' bit 5) zurckgesetzt.
  348.  
  349. 0.60beta, 08-09-92:
  350.  In der Struktur wird die Variable chip_type gesetzt.
  351.  Das Programm CHECKSCC V1.00 ist im Paket mit dabei.
  352.  Es testet den Chip-Typ und die Frequenzen, die am SCC anliegen.
  353.  
  354. 0.50beta, 30-08-92:
  355.  erste ”ffentliche Beta!!-Version
  356.